The present invention relates generally to the data processing field, and more particularly, relates to a method and apparatus for correlating trace data from asynchronous machines, such as asynchronous emulation machines.
It is often desirable to allow different emulation machines, or different partitions of the same machine, to operate asynchronously with one another. However, when operating in this mode, it is difficult to correlate the various traced events into a single event trace since each group of traces is captured with a different oscillator. A global correlation of traced events is needed to make problem resolution of asynchronous interfaces easier for the user.
To help debug emulated systems, a mechanism is needed to trace the activity of the emulated machine""s logic. When asynchronously emulated machines or partitions are operating together, such as communicating through an asynchronous interface, it is difficult to correlate activities that occur at the same point in time in the different traces.
A need exists for a method and apparatus for correlating trace data from asynchronous emulation machines. It is desirable to correlate the various traced events from asynchronous emulation machines into a single event trace.
A principal object of the present invention is to provide a method and apparatus for correlating trace data from asynchronous machines, such as asynchronous emulation machines. Other important objects of the present invention are to provide such method and apparatus for correlating trace data from asynchronous machines substantially without negative effect and that overcome many of the disadvantages of prior art arrangements.
In brief, a method and apparatus are provided for correlating trace data from asynchronous machines, such as asynchronous emulation machines. A data capture signal is received from each of the plurality of asynchronous emulation machines. The data capture signal from each of the plurality of asynchronous machines is sampled. Then the sampled data capture signal from each of the plurality of asynchronous machines and a cycle count are stored.
In accordance with features of the invention, a trace synchronization system is coupled to each of the plurality of asynchronous machines for receiving the data capture signal from each of the plurality of asynchronous machines. The trace synchronization system operates no slower than any data capture signal from each of the plurality of asynchronous machines, so that no data capture signals are missed. The trace synchronization system includes a trace synchronization array for storing the sampled data capture signal from each of the plurality of asynchronous machines and a cycle count. The stored sampled data capture signal from each of the plurality of asynchronous machines with the stored cycle count in the trace synchronization array are processed for correlating the stored sampled data capture signal from each of the plurality of asynchronous machines. The plurality of asynchronous machines include a plurality of partitions of a single machine and the data capture signal from each of the plurality of partitions of the single machine are received, sampled and stored in the trace synchronization array.